<?php
/**
 * 请求接口
 * @author Leo 2010-09-09
 *
 */

interface IRequest {
	/**
	 * 获取客户端传过来的值无论是通过GET方式还是POST方式
	 * @param string $name 值名
	 * @param mixed $default 默认值
	 * @param boolean $xss_clean 是否进行xss过滤
	 * @return mixed
	 */
	function get($name, $default = '', $xss_clean = false);
	/**
	 * 
	 * 读取$names指定的变量
	 * @param array $names 要读取的变量
	 * @param boolean $xss_clean 是否进行xss过滤
	 * @return array 
	 */
	function gets($names,$xss_clean = false);
	/**
	 * 是否传递这个值而不关心值是什么
	 * 
	 * @param string $name
	 * @return boolean
	 */
	function has($name);
	/**
	 * 从COOKIE中取值
	 * @param string $name 值名
	 * @param mixed $default 默认值
	 * @param boolean $xss_clean 是否进行xss过滤
	 * @return mixed
	 */
	function cookie($name, $default = '', $xss_clean = false);
	/**
	 * 设置COOKIE,当$value=null或$expire小于0时从COOKIE中删除$name.
	 * @param string $name 值名
	 * @param mixed $value 值
	 * @param int $expire 过期时间,默认使用配置设置的时间
	 */
	function setCookie($name, $value = null, $expire = null);
	/**
	 * 请求客户端信息
	 * @return array key=>value(ip,county,city,idc,port,refer)
	 */
	function clientinfo();
}
function getCookie($name, $default = '', $xss_clean = false) {
	$ioc = get_current_ioc ();
	$req = $ioc->get ( 'request' );
	if ($req) {
		return $req->cookie ( $name, $default, $xss_clean );
	} else {
		return $default;
	}
}